23

» WarCraft 3 / Локалки

Похожие вопросы:

ответ
Действие "Pan camera as necessary (Timed)" использует функцию SmartCameraPanBJ, в которой близарды допустили ошибку вызывающую десинхронизацию.
Используй "Pan camera (Timed)".
ответ
Главный кошмар тут, конечно - 14 групп. Пришлось так делать, т. к. принципиально не хочу применять глобалки, а локалки, похоже, после дестройгруп заново не юзабельны.
Это вроде должно быть легко поправить, вместо
call DestroyGroup (firewayunits1)
везде ставь
call GroupClear(firewayunits1)
и в самом конце уже, где идет обнуление переменных, там оставляешь DestroyGroup.
И с чего такая нелюбовь к глобалкам? Хештаблица используется, а это ж тоже глобалка, причем даже не просто глобалка, а супер-глобалка. У меня с ней постоянно головная боль была, из-за возникающих после интенсивной работы странных глюков...
ответ
получение текущего приказа не требует от тебя нихера, тебе нужно, чтобы там не было "useitem", и всё
ответ
Steal nerves, Я сделал с детектором бафа обычного лечение, здоровье восстанавливаю триггерно, забил на ауру.
ответ
Steal nerves:
нет, достаточно одной глобалки bj_lastCreatedTextTag на все. И тогда не нужна никакая локалка. Так использую во многих системах, и работает. Глобалка bj_lastCreatedTextTag является темповой - ну то есть временной ссылкой, чтобы что-то там сделать дальше: цвета прозрачность настроить, время жизни и так далее.
Раньше давно-давно тоже думал, что нужно прям везде и на всё локалки ставить для мультиплеера. А как оказалось нет. Работает и глобалка. Дело в том, что у тебя задержек никаких нет, то и локалки не нужны. Потому что делаешь лишние операции - объявить - обнулить. Ну и во-вторых, у текстагов можно задавать время жизни, сами удаляться.

23

» WarCraft 3 / Гнев деревьев

Похожие вопросы:

ответ
Чел, создовай даммика в "Отряде", там где ты и заставляешь его юзать корни, чтобы создался даммик для каждого врага в диапозоне.
ответ
должен сразу предупредить что делать за тебя никто не будет
теперь по твоим вопросам
  1. чтобы нельзя было кликать скрываешь, даёшь москиты, делаешь видимым
  2. действие проиграть звук и указываешь твою фразу
  3. выбираем всех подходящих(враги,живые) юнитов в радиусе от точки каста и создаём по дамми юниту(юнит без модели, без атаки, с москитами, с нужной способность, время жизни юнита 1 сек) для каждого подходящего юнита приказывая дамми юниту применить нужную способность в подходящего юнита
таким образом каждый дамми юнит применит нужную способность (в твоём случае корни) в 1 подходящего юнита для которого он и был создан а потом исчезнет
  1. система отлова урона
  2. морф юнита либо орбы
всё что я не описал есть в статьях
тебе нужны первые 2 раздела ("Основы" и "Триггеры и объекты")
ответ
ИИ написать, сами скиллы юзают тока крипы подконтрольные ИИ - к примеру нейтральновраждебные.
Так же можно юзать скилл - Сфера замедления, это орб эффект который срабатывая накладывает на цель атаки указанный в его настройках скилл, подойдет для карт типа Castle Fight.
ответ
Steal nerves:
  1. Выделяешь всех юнитов в определенной области в группу. Так есть определенный радиус действия (круг выбора области заклинанием типа у бурана, огненного столба и др.), в редакторе называется "Область воздействия", вокруг центра каста перебираешь всех юнитов
  2. Создаешь dummi и кастуешь над каждым юнитом в группе способность "гнев деревьев". Или пробуешь полностью триггерно создать эффект обхвата юнитов (эти лозы и корни деревьев), паузишь и периодически таймером наносишь урон до определенного времени (под конец удаляешь эффект, а если кто-то умер, то также удаляешь эффект). Только, когда триггерно делаешь, баффы нацепить не сможешь, придеться также делать. Заморочек со вторым способом больше
Способность пустышку можно создать на основе канала.

23

» WarCraft 3 / Импортные текстуры

Похожие вопросы:

ответ
Скорее всего никак. Если в импорте указать стандартный путь текстуры, то она заменится и будет недоступна.
ответ
Вот, нашёл: xgm.guru/files/100/174291/comments/328619/USTS.w3x
А вот, что можно сделать с помощью этой системы:
ответ
На Epicwar'ре ищи мапы побольше и постарше, есть шанс найти хорошие рпгшки.

23

» WarCraft 3 / Orders

Похожие вопросы:

ответ
Если биндить war3assistant-ом или подобным - не выйдет ни фига.
Если биндить прогой, работающей по другому - возможно чисто для синглплеера и сработает, но у других игроков ничего работать не будет. Разве что если уних по счастливой случайности именно такая же прога активна.
ответ
Чел, создовай даммика в "Отряде", там где ты и заставляешь его юзать корни, чтобы создался даммик для каждого врага в диапозоне.
ответ
Frozen_Cat, тут 2 варианта:
  • нужна система отлова и дифференциации урона. Это в случае если сайленс должны при применении исключительно дамажащих спеллов.
  • нужна система детекта текущей цели юнита. В случае, когда сайленс должен получать любой юнит, применивший любое заклинание против героя.
ответ
Maniac_91, Заметил что такой баг не на всех пушках,допустим у гранатомета такого нет,но вроде фиксится тупо отменой приказа, WTF???

23

» WarCraft 3 / Изображения

Похожие вопросы:

ответ
Во вкладке "Сценарий" не ставить галочку в "скрыть миникарту на экранах предпросмотра", затем импортировать .blp или .tga картинку 128х128 и назвать war3mapPreview(.blp\.tga)
ответ
Вот, нашёл: xgm.guru/files/100/174291/comments/328619/USTS.w3x
А вот, что можно сделать с помощью этой системы:
ответ
SNART, добавить в краткое описание картинку.
Вот как здесь ссылка
ответ
XGM Bot:
Похожие вопросы:

ответ
~8gabriel8:
Надо под загруженной картинкой нажать "Вставить ссылку на файл".


23

» WarCraft 3 / Есть ли такая стандартная способность

Похожие вопросы:

ответ
В ближнем бою работает панцирь с шипами.
Но он вроде как все равно наносит 1ед. дамаги ( я не пробовал с отрицательными значениями).
ответ
Ну у мастера клинка способность то посложнее...
Вот пример:
Для начала нам нужно создать иллюзии героя, а потом скрыть всех их, так же сделав визуальный эффект (если что то зеленые тени, это снаряды).
ответ
Оказывается нужно было указать в доступных улучшениях кастера нестандартное улучшение!
В данном случае у некроманта есть улучшение "магия скелетов", так как именно некромант кастует прокачиваемую способность "оживить мёртвых".
ответ
есть стандартная способность Кислотная Бомба, она тоже снижает защиту
Нейтрально враждебные - герои
ответ
Сделай на основе берсерка и кидай сетку через созданного в позиции кастера даммика (невидимого юнита), даммика потом убираешь

23

» WarCraft 3 / здание

Похожие вопросы:

ответ
Поставь зданию модель dummy.mdx, которая с креплениями, но без видимых частей.
И прикрепи ему на overhead модель ястреба(спецэффект - создать спецэффект на юните)
ответ
Не нужно ничего импортировать.
ответ
16GB:
FabulousTiger,
Чем в вашем случае воскрешение отличается от создания такого же здания в этом же месте?
лень искать в коде юнитов и менять везде на глобалки, думал есть простой способ) Т.к порылся в листе функций и не нашел ничего на воскрешение зданий
ответ
8gabriel8, стандартные порталы как раз включаются триггером, так же триггерно им можно назначать области телепорта, так же они не ломают карту путей.
Насчет упираются в здание, карту путей ставь от портала, физ размер в 0.
ответ
Steal nerves:
ссылка смотри раздел "строительство"
иконку нужно менять у способности "строительство", у каждой расы оно разное. У них отсутствует описание, но его можно поменять в
Описание кнопок и горячие клавиши (hot keys) находятся в Units/CommandStrings.txt
Изменить также можно в "дополнительно"->"игровой интерфейс"
чтобы было 2 меню. нужно делать 2 разных юнитов = морф.
пробовал делать через спелбук с кучу игрушечных здании, но так не получится

23

» WarCraft 3 / Монолит

Похожие вопросы:

ответ
Кажется я понял в чем дело. В общем, в карте монолит в импорте файлик LoadingScreen.mdx весит 3 кб, когда я его экспортирую на рабочий стол, а затем импортирую обратно в карту с рабочего стола, то он почему-то начинает весить не 3, а 1 кб, а Лоадскрин не показывается при загрузке карты. Но из-за чего это происходит я не знаю.

23

» WarCraft 3 / Тайлы

Похожие вопросы:

ответ
TerrainArt\Blight\Ashen_Blight.blp
ответ
Сделаю может даже сегодня, поподробней, или типо аналог даларана из второй фотки
ответ
  1. для этого скачай Jass New Gen Pack 2
ответ
XGM Bot:
Похожие вопросы:

ответ
Замени тайлы города, и все ок будет.
ответ
добавить тайтлы воды в карту по тем же путям что и стандартные.
ответ
Ты явно написал пути неправильно. Мне плохо видно на таком скрине, но вроде бы там написано villave
ответ
PhysCraft, читал, там очень мало написано, и совсем не то что я ожидал. В принципе я вроде смог прописать путь по папкам, сделал что бы играла музыка, в игре модели видно, но в редакторе нет, и как я теперь буду в редакторе ландить? Мне импорт для ландшафта нужен. Есть какой-то способ в редакторе тоже видеть?
ответ
можно ли это сделать без импорта, просто с помощью настроек?
Нет.

ответ
Редактор не перегружает ресурсы. Тоесть отурыв карту, где используется *Деревня - каменистая тропа*, редактор запомнит этот тайл и при открытии других карт будет использовать именно его.
Можете элементарно проверить закрыв редактор и первой открыть карту с альфа тайлом.
Конечно не забудте убрать галку "Создавать новую карту при открытии" или, что более лучше, используйте JGNP

23

» WarCraft 3 / Фича

Похожие вопросы:

ответ
Ну, если дать неуязвимому даммику, то у них тоже приказ сбивается?
ответ
Триггер 1
Событие - Юнит заходит в область (вся карта)
Действие - Добавить в триггер 2 событие "Входящий юнит получает урон"
Триггер 2
Действие - Твои действия
(Атакованный юнит отлавливается как Attacked unit, атакующий - Damage Source)
ответ
Extremator, Общий вырубил, причиной было что удаляет другие спелбуки поэтому и закрывает.
ответ
Это лежит в слк таблице, сам тип юнита это - РО код, 'hpea' - peasant, это целое число, но в 256 ричной системе исчисления.
Были просто функции которые из текста делают РО код, вводишь -spawn h000'и появляется юнит нужного тебе типа...

23

» WarCraft 3 / Очередные вопросы по оптимизации

Похожие вопросы:

ответ
Спасибо всем за ответы и пояснения! Закрываю флудильню :с
ответ
Друга зачем? Нинада, так толку не будет...
Просто используешь Inject main (vjass) или Define (Cjass) чтобы убрать 1 только строчку из main
//***************************************************************************
//*
//*  Map Configuration
//*
//***************************************************************************

//***************************************************************************
//*
//*  Main Initialization
//*
//***************************************************************************

//===========================================================================
function main takes nothing returns nothing
    call SetCameraBounds(- 3328.0 + GetCameraMargin(CAMERA_MARGIN_LEFT), - 3584.0 + GetCameraMargin(CAMERA_MARGIN_BOTTOM), 3328.0 - GetCameraMargin(CAMERA_MARGIN_RIGHT), 3072.0 - GetCameraMargin(CAMERA_MARGIN_TOP), - 3328.0 + GetCameraMargin(CAMERA_MARGIN_LEFT), 3072.0 - GetCameraMargin(CAMERA_MARGIN_TOP), 3328.0 - GetCameraMargin(CAMERA_MARGIN_RIGHT), - 3584.0 + GetCameraMargin(CAMERA_MARGIN_BOTTOM))
    call SetDayNightModels("Environment\\DNC\\DNCLordaeron\\DNCLordaeronTerrain\\DNCLordaeronTerrain.mdl", "Environment\\DNC\\DNCLordaeron\\DNCLordaeronUnit\\DNCLordaeronUnit.mdl")
    call NewSoundEnvironment("Default")
    call SetAmbientDaySound("SunkenRuinsDay")
    call SetAmbientNightSound("SunkenRuinsNight")
    call SetMapMusic("Music", true, 0)
    call InitBlizzard() // вот и все, удалим и не будет бж объектов.


    call InitGlobals()
    call InitCustomTriggers()
    call RunInitializationTriggers()

endfunction
Совсем забыл, функция main генерируется при сохранении карты в редакторе
Без cjass или vjass придется выколупывать war3map.j (код карты) файл из карты и править ручками в блокнотике, геморойно до безобразия, за то ненужен c\vjass и его знания.

23

» WarCraft 3 / Очередные вопросы по оптимизации

Похожие вопросы:

ответ
Спасибо всем за ответы и пояснения! Закрываю флудильню :с
ответ
Друга зачем? Нинада, так толку не будет...
Просто используешь Inject main (vjass) или Define (Cjass) чтобы убрать 1 только строчку из main
//***************************************************************************
//*
//*  Map Configuration
//*
//***************************************************************************

//***************************************************************************
//*
//*  Main Initialization
//*
//***************************************************************************

//===========================================================================
function main takes nothing returns nothing
    call SetCameraBounds(- 3328.0 + GetCameraMargin(CAMERA_MARGIN_LEFT), - 3584.0 + GetCameraMargin(CAMERA_MARGIN_BOTTOM), 3328.0 - GetCameraMargin(CAMERA_MARGIN_RIGHT), 3072.0 - GetCameraMargin(CAMERA_MARGIN_TOP), - 3328.0 + GetCameraMargin(CAMERA_MARGIN_LEFT), 3072.0 - GetCameraMargin(CAMERA_MARGIN_TOP), 3328.0 - GetCameraMargin(CAMERA_MARGIN_RIGHT), - 3584.0 + GetCameraMargin(CAMERA_MARGIN_BOTTOM))
    call SetDayNightModels("Environment\\DNC\\DNCLordaeron\\DNCLordaeronTerrain\\DNCLordaeronTerrain.mdl", "Environment\\DNC\\DNCLordaeron\\DNCLordaeronUnit\\DNCLordaeronUnit.mdl")
    call NewSoundEnvironment("Default")
    call SetAmbientDaySound("SunkenRuinsDay")
    call SetAmbientNightSound("SunkenRuinsNight")
    call SetMapMusic("Music", true, 0)
    call InitBlizzard() // вот и все, удалим и не будет бж объектов.


    call InitGlobals()
    call InitCustomTriggers()
    call RunInitializationTriggers()

endfunction
Совсем забыл, функция main генерируется при сохранении карты в редакторе
Без cjass или vjass придется выколупывать war3map.j (код карты) файл из карты и править ручками в блокнотике, геморойно до безобразия, за то ненужен c\vjass и его знания.

23

» WarCraft 3 / ИИ

Похожие вопросы:

ответ
вопросы типа сделайте за меня не принимаются
по поводу того как это делать написано здесь xgm.guru/p/wc3/articles
ответ
BrEd Pitt, что значит использовать
берёшь и создаёшь юнитов для резервного игрока а потом отдаёшь им приказ
ответ
Возможно listfile.txt повредился.
Перекачай его.
ответ
есть событие - юнит получает урон. в нём отслеживается как жертва, так и наносящий урон. можно хоть через хэш, хоть через структуру Юнита записывать всё, что угодно. Кто от кого конкретно сколько получил урона, кто кому сколько нанёс, сколько провисел на ком-то бафф яда и т.п. (Сначала был loop, а теперь периодический триггер). Каждые N секунд, перебираешь всех юнитов в массиве или списке, и отслеживаешь всё, что надо.
Структура - Unit. У неё есть двойной список с юнитами и уроном от яда (полученным или нанесённым - зависит от того, у кого будет этот список - у жертв или у тех, кто наносит яд). Типа DoubleList. В DoubleList есть элементы DoubleElement. В каждом таком элементе записаны unit и real (урон от яда от этого юнита). При получении урона от яда перебирается список, если юнит уже есть, урон от него (или ему) прибавляется. Если нет, то создаётся новый элемент с новым юнитом.
Периодически у нужных юнитов эти списки перебираются. Всё.
ответ
Diazon, прочти статьи по массивам/структурам
после чего юзай двухмерные массивы/поля-массивы

23

» WarCraft 3 / вызов функций

Похожие вопросы:

ответ
Мануал описывает поведение макросов достаточно понятно. Разъясняя пример в теме другими словами
define MyFunc(type) = {
	nothing MyFunc_##type(type x){
		BJDebugMsg('type')
	}
}
Если препроцессор, обрабатывая код, наткнется на строчку, где вызывается макрос MyFunc, например
// Где-то в CustomScript карты
MyFunc(real)
Он применит указанный выше макрос, заменив в нем слово type на указанное в скобках MyFunc слово real, в результате чего получим код
// MyFunc(real) убрано препроцессором и заменено кодом ниже
nothing MyFunc_real(real x){
	BJDebugMsg("real")
}
Что впоследствии транслируется из cJass в обычный Jass2
function MyFunc_real takes real x returns nothing
	call BJDebugMsg("real")
endfunction
ответ
Нет. Я пока хочу достроить карту на GUI, думаю мне осталось дней 10-30 работать, а буду ли следующую делать - под вопросом. Не хочется тратить время на изучение jass из-за пустяка! Однако Я использовал Custom Script, но это было содрано с одного сайта, а вот чтобы делать самому нужно сначала полностью изучить язык. Либо знаю, либо нет, чуть-чуть не считается!
Что касается wait, то если не это то что тогда?
Опытным путём сам установил что в процесс ничего не вклинивается. Можно использовать Триггер как Функцию и ссылаться на него в другом Триггере. По сути, это и есть функция, если глянуть на jass. Вопрос закрыт.
ответ
Потому что у триггеров нет имен.
Создаем массив строк name_array;
Создаем массив триггеров trigger_array;
Создаем инт name_array_index;
Создаем функцию
register_trigger(Trigger trigger, string name) {
    name_array[name_array_index] = name;
    trigger_array[name_array_index] = trigger;
    name_array_index = name_array_index + 1;
}
Создаем функцию
name_to_trigger(string name) {
    for (integer index = 0; index < name_array_index; index++) {
        if name_array[index] == name {
            return trigger_array[index];
        }
    }
}
Затем регистрируем все триггеры через register_trigger.
А после этого думаем, реально ли у нас столько абилок, что простая последовательность if name == "my_ability" then RunTrigger(my_ability) хуже этого решения
ответ
Имена бж функций есть в..blizzard.j, чтобы они не конфликтовали с вашими способностями - чекайте софтом код абилок и близард ж файл, на предмет одинаковых имен и правьте, а так еще советую тулы векса или хеави лок - они сжимают имена и небудет проблем с именами функций и переменных в скрипте.
ответ
у библиотеки нет методов, у нее обычные функции
если функция public, то вызывать нужно
call LibraryName_MyFunction()
а вообще вопрос, ответ на который есть в базе статей, за такое вообще варнить можно было б

23

» WarCraft 3 / ИИ

Похожие вопросы:

ответ
вопросы типа сделайте за меня не принимаются
по поводу того как это делать написано здесь xgm.guru/p/wc3/articles
ответ
BrEd Pitt, что значит использовать
берёшь и создаёшь юнитов для резервного игрока а потом отдаёшь им приказ
ответ
Возможно listfile.txt повредился.
Перекачай его.
ответ
есть событие - юнит получает урон. в нём отслеживается как жертва, так и наносящий урон. можно хоть через хэш, хоть через структуру Юнита записывать всё, что угодно. Кто от кого конкретно сколько получил урона, кто кому сколько нанёс, сколько провисел на ком-то бафф яда и т.п. (Сначала был loop, а теперь периодический триггер). Каждые N секунд, перебираешь всех юнитов в массиве или списке, и отслеживаешь всё, что надо.
Структура - Unit. У неё есть двойной список с юнитами и уроном от яда (полученным или нанесённым - зависит от того, у кого будет этот список - у жертв или у тех, кто наносит яд). Типа DoubleList. В DoubleList есть элементы DoubleElement. В каждом таком элементе записаны unit и real (урон от яда от этого юнита). При получении урона от яда перебирается список, если юнит уже есть, урон от него (или ему) прибавляется. Если нет, то создаётся новый элемент с новым юнитом.
Периодически у нужных юнитов эти списки перебираются. Всё.
ответ
Diazon, прочти статьи по массивам/структурам
после чего юзай двухмерные массивы/поля-массивы

23

» WarCraft 3 / Execut

Похожие вопросы:

ответ
Пользуйтесь директивами library и endlibrary.
Мануал по ссылке.
ответ
Проблема возникает также при переносе вот этого вот в инициализацию триггера тест.
Но при этом если вместо строки вроде "12345" использовать, например, GetAbilityName('Aloc') - то все работает.
Это какой-то баг со строками?
Еще у меня почему-то происходит фантомный клик по центру карты в начале игры
Вобщем не стоит юзать имена функций напрямую в экзекуте и вообще таймеры лучше
ответ
На хайве получил ответ, надо было писать evaluate

23

» WarCraft 3 / Плавающий текст

Похожие вопросы:

ответ
ровно 99 штук
ответ
Любая строка ограничена, 256 символов латиницы и вдвое меньше символов кирилицы насколько я помню.
Никак не лечится, краткость сестра таланта и все такое.
ответ
имеет смысл открыть раздел ГУИ с плавающим текстом, взять словарик английского и самому попробовать его различные комбинации. Если ответить вкратце - да, это можно сделать

Floating Text - Create floating text that reads (Текст) above DamageEventTarget with Z offset (40.00 + (Random real number between 1.00 and 25.00)), using font size 13.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency - создает надпись Текст с нужными настройками цвета и смещения по оси Z над нужным нам юнитом. Создавать текст также можно в любой точке
Floating Text - Set the velocity of (Last created floating text) to 75.00 towards 90.00 degrees - Текст будет смещен на 75 ед. с углом смещения 90 градусов
Floating Text - Change (Last created floating text): Disable permanence - не помню, что делает
Floating Text - Change the lifespan of (Last created floating text) to 3.50 seconds - устанавливает время жизни текста 3,5 сек
Floating Text - Change the fading age of (Last created floating text) to 1.40 seconds - заставляет текст медленно гаснуть в течении 1,4 сек, чтобы он не пропадал резко и выглядело красиво

ищите одноименный раздел и успехов

23

» WarCraft 3 / Ловкость

Похожие вопросы:

ответ
~8gabriel8:
ClotPh, ну и зачем промах-то отлавливать?
DarkHammer, ну вот карта с триггерами:
давай поясню, что в ней получилось, а что нет. Во-первых, там три триггера для способности, в Иниц. сражения указано, чтобы гном периодически кидал в героя молот для проверки работы защиты от магии. В trigger 000 указано, чтобы триггер защиты от магии активировался после изучения Змеиной ловкости, тут много нюансов. Например, я просто не знаю, что ты хотел, сделать промахи от магии для всех, включая бандитов, либо лишь для одного героя на карте. Также изначально герой может обладать Змеиной ловкостью, в таком случае этот триггер не нужен, его можно убрать и изначально включить trigger 001. Может быть так, что на карте у нескольких героев есть Змеиная ловкость, тогда надо задавать им переменные в этом триггере. Короче, тут очень много всего, мог бы сделать универсальную систему для всех случаев, но она была бы очень большой, мне просто жалко своего времени на это, для себя сделал то, что требовалось, мне достаточно. Опиши свою ситуацию, куда тебе нужна Змеиная ловкость, действующая и на заклинания, тогда могут быть советы по trigger 000. Во-вторых, в trigger 001 указано случайное срабатывание защиты от магии, примерно как я описывал выше, только немного иначе выглядят:
так как у меня подразумевается, что на карте только один юнит обладает Змеиной ловкостью от заклинаний, то я его и указываю, иначе может понадобиться использовать переменные для юнитов. В действиях идёт проверка на уровень Змеиной ловкости и выставлении шанса на срабатывание промаха заклинания. Если шанс выпал, то герою добавляется Защита от магии от Амулета защиты, но только моя версия этой способности, чтобы не было потом конфликтов с этим предметом у Верховного мага. При этом trigger 001 отключается, чтобы не сработал повторно до того, как в героя способность прилетит, а то вдруг кто-то ещё направит в героя заклинание, вторая Защита от магии ему добавится что ли? Вместе с отключением trigger 001 включается trigger 002, тут отлавливается срабатывание моей Защиты от магии и добавляется всплывающий текст "промах". Как бы понятно, что раз Защита от магии сработала, значит заклинание попало, там воспроизводится соответствующий игровой звук, триггер отключается, защита от магии убирается и опять запускается trigger 001, чтобы ловить дальше заклинания и считать шанс на промах, ну а потом всплывающий текст. В этом случае, если кто-то издалека направил на героя заклинание, и оно получило шанс на промах, trigger 001 отключился, а кто-то рядом тоже направил заклинание, и оно долетело первым, то первое заклинание промахнётся, trigger 001 включится и будет считать шансы на промах заклинаний, но, направленное издалека заклинание в теории долетит и не промахнётся, так как Защиты от магии уже не будет, а шанс на промах для него уже успешно выпал. Если враги не бьют способностями постоянно, то это не критично, но если монстры нападают массово и атакуют способностями с кулдауном 0,1 секунда, то это будет ощутимо. А вот со всплывающим текстом у меня не очень получилось, промах обычный всплывает над тем, кто промахнулся, но как сделать промах от заклинателя, если произошла описанная выше ситуация, когда для одного заклинания срабатывает шанс на промах, а им пользуется другое более быстрое заклинание? Я не знаю. Недавно тут задавался подобный вопрос, я его не посмотрел, правда, но думаю, что там используются не те триггеры, которыми владею. Как вариант можно делать текст не "промах", а "промах магии" над героем со Змеиной ловкостью.
ответ
Steal nerves:
что-то не вижу на скрине как вы пытаетесь запихнуть в if/then/else. Почему должен угадывать
Предположение: ошибка - локальные переменные объявляются всегда первыми. Если там будет какое-то другое действие, а объявление локалок ниже, то это ошибка. Ты вперед, наверное, поставил действие "if/then/else", а потом начал объявлять что-то там,
правильно
local unit u
if (условие) then
	действие
endif
не правильно
if (условие) then
	local unit u
endif
Локалки вначале функции всегда объявляются. Можете в код конвентировать и посмотреть.
вейты не юзайте лучше, используйте таймер. Он поток паузит, еще работает во время паузы, и не точен .
ответ
Вообще - работает наивысший показатель, ничего не суммируется и не складывается.
То что ты читал про формулу - скорее всего описывается метод сложения как в доте
Каждый следующий уменьшает шанс попадания на свой % от оставшегося
если у тебя есть 40% уворота, то шанс попадения по тебе 60%
если у тебя ещё есть 50% уворота, то шанс попадения на 50% (это 30%, а уворот 70%)
В доте организация была через абилку в ~20 уровней с шагом по 5%
уровень 1 - шанс 5%, уровень 2 - шанс 10% ... уровень 10 - шанс 50% ...
И значение округлялось в меньшую сторону (если высчитывается у тебя 62,5%, то будет 60%)
. . .
Ещё как вариант - отлавливать физ.атаки и делать промахи триггерно
У меня был практически рабочий вариант без косяков... но не срослось
А так вообще кто-то делал через мгновенные атаки дальнего боя с гашением об каменный доспех и нанесением урона по формулам от всех бонусов (через БД), ну тут сам понимаешь...
ответ
Поищи в игровом интерфейсе (главное окно редактора, сверху в меню полазь).

23

» WarCraft 3 / Своя подсветка функций

Похожие вопросы:

ответ
Не разбираюсь, но не вижу причин, почему было бы нельзя. Вопрос в том, надо ли для этого быть хакером или достаточно продвинутым юзером...

23

» WarCraft 3 / Как настроить шрифт в Jass?

Похожие вопросы:

ответ
Zeuz, Courier New
SomeFire, скорее всего он имеет ввиду шрифты джасс кода
настраивается кнопочкой Options при редактировании джасс кода

23

» WarCraft 3 / World Editor

Похожие вопросы:

ответ
ну все по стандарту - проверка на вирусы, проверка реестра, чистка реестра, дефрагментация диска, проверка диска, установка в другую директорию, откат на точку восстановления
ответ
nvc123, да, и я это уже понял
ответ
Вершины все правильно прикреплены к костям?
ответ
Не особо шарю, но :
-отключить антивирус
-переустанови jngp
ответ
Ну видимо хреново сделал, раз фаталит...

23

» WarCraft 3 / Позиционный звук

Похожие вопросы:

ответ
Я сравнил стандартный и свой звук. Обнаружил, что у меня 2 канала, у стандартного 1. Я перковертировал все свои звуки... Стало лучше, но часть звуков все равно не работает(
ответ
Оказывается, нужно было добавить Ждать перед Спецэффекты - Послать передачу.
ответ
заменять через локального игрока пустой путь на звук
ответ
предлагаю дамми-каст абилки в нужном месте с нужным звуком
я парился с этим вопросом еще в бытность форума, но потом отвлекся на другие дела